package ma.cdm.compteRendu.bo;

import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

/**
 * ParticipantExterne entity. @author Limouri Anouar
 */
@Entity
@Table(name="participantexterne")

public class ParticipantExterne  implements java.io.Serializable {


    // Fields    

     private ParticipantExterneId id;
     private CompteRendu compteRendu;
     private PersonneExterne personneExterne;
     private String remarques;


    // Constructors

    /** default constructor */
    public ParticipantExterne() {
    }

	/** minimal constructor */
    public ParticipantExterne(ParticipantExterneId id, CompteRendu compteRendu, PersonneExterne personneExterne) {
        this.id = id;
        this.compteRendu = compteRendu;
        this.personneExterne = personneExterne;
    }
    
    /** full constructor */
    public ParticipantExterne(ParticipantExterneId id, CompteRendu compteRendu, PersonneExterne personneExterne, String remarques) {
        this.id = id;
        this.compteRendu = compteRendu;
        this.personneExterne = personneExterne;
        this.remarques = remarques;
    }

   
    // Property accessors
    @EmbeddedId
    
    @AttributeOverrides( {
        @AttributeOverride(name="idcompterendu", column=@Column(name="IDCOMPTERENDU", nullable=false) ), 
        @AttributeOverride(name="idpersonneexterne", column=@Column(name="IDPERSONNEEXTERNE", nullable=false) ) } )

    public ParticipantExterneId getId() {
        return this.id;
    }
    
    public void setId(ParticipantExterneId id) {
        this.id = id;
    }
	@ManyToOne(fetch=FetchType.LAZY)
        @JoinColumn(name="IDCOMPTERENDU", nullable=false, insertable=false, updatable=false)

    public CompteRendu getCompteRendu() {
        return this.compteRendu;
    }
    
    public void setCompteRendu(CompteRendu compteRendu) {
        this.compteRendu = compteRendu;
    }
	@ManyToOne(fetch=FetchType.LAZY)
        @JoinColumn(name="IDPERSONNEEXTERNE", nullable=false, insertable=false, updatable=false)

    public PersonneExterne getPersonneExterne() {
        return this.personneExterne;
    }
    
    public void setPersonneExterne(PersonneExterne personneExterne) {
        this.personneExterne = personneExterne;
    }
    
    @Column(name="REMARQUES", length=1000)

    public String getRemarques() {
        return this.remarques;
    }
    
    public void setRemarques(String remarques) {
        this.remarques = remarques;
    }
   








}